const install = (Vue, vm) => {
	let api = {}
	// 获取所有广告位
	api.getAdvert = params => vm.$u.get('/advertisingspace/advertising', params);

	// 批量获取动态列表信息
	api.getfeed = params => vm.$u.get('/feeds', params)
	// 获取指定 ID 动态详情
	api.getFeedDetail = params => vm.$u.get('/feeds/' + params.id)
	// 获取指定 ID 动态 评论详情
	api.getFeedComments = params => vm.$u.get('/feeds/' + params.id + '/comments')
	// 点赞
	api.getFeedLike = params => vm.$u.post('/feeds/' + params.id + '/like')
	// 取消点赞
	api.getFeedUnlike = params => vm.$u.delete('/feeds/' + params.id + '/unlike')
	//  评论指定 ID 动态
	api.getFeedComment = params => vm.$u.post('/feeds/' + params.id + '/comments', {
		body: params.body
	})
	// 创建一个动态
	api.createFeed = params => vm.$u.post('/feeds', params)
	// 删除指定 ID 动态
	api.delOneFeed = params => vm.$u.delete('/feeds/' + params.id + '/currency')

	// 资讯相关API
	// 批量获取资讯列表信息
	api.getNews = params => vm.$u.get('/news', params)
	//获取指定 ID 资讯详情信息
	api.getNewDetail = params => vm.$u.get('/news/' + params.id)
	// 获取指定 ID 资讯 评论详情
	api.getNewComments = params => vm.$u.get('/news/' + params.id + '/comments')
	// 喜欢资讯
	api.getNewLike = params => vm.$u.post('/news/' + params.id + '/likes')
	// 不喜欢资讯
	api.getNewUnlike = params => vm.$u.delete('/news/' + params.id + '/likes')
	// 评论指定 ID 资讯
	api.getNewComment = params => vm.$u.post('/news/' + params.id + '/comments', {
		body: params.body
	})
	// 用户相关API
	// 获取所有用户
	api.getUsers = params => vm.$u.get('/users', params)
	// 获取验证码 (已注册用户)
	api.getLoginCode = params => vm.$u.post('/verifycodes', params.phone)
	// 获取验证码 (非注册用户)
	api.getRegisterCode = params => vm.$u.post('/verifycodes/register', params)
	// 用户注册
	api.userRegister = params => vm.$u.post('/users', params)
	// 登录
	api.userLogin = params => vm.$u.post('/auth/login', params)
	// 获取当前用户相关信息
	api.getUser = params => vm.$u.get('/user/counts', params)
	// 获取当前用户信息
	api.getUserInfo = params => vm.$u.get('/users/' + params.user)

	// 上传图片
	api.uploadFile = async file => {
		console.log(file.file.path)
		let rfile = file
		// #ifdef MP-WEIXIN
			rfile =	wx.getFileSystemManager().readFileSync(file.file.path)
		// #endif
		console.log(rfile)
		let uFile = await uni.uploadFile({
			url: vm.$u.http.config.baseUrl + '/files', 
			// file要上传的文件对象
			file: rfile,
			// filePath要上传文件资源路径
			filePath: file.file.path,
			name: 'file',
			header:{
				Authorization: 'Bearer' + uni.getStorageSync('token'),
				// 'Content-Type': 'multipart/form-data'
			}
		});
		return JSON.parse(uFile[1].data)
	}


	// 将各个定义的接口名称，统一放进对象挂载到vm.$u.api(因为vm就是this，也即this.$u.api)下
	vm.$u.api = api;
}

export default {
	install
}
